///////////////////////////////////////////////
// Camera by Slawomir Marcjanski
// Part of ClearLightEngine

////////////////////////


class enCamera
{
    public:
    enCamera();
    enCamView View;
    float array[361][2];
    void StepLeft();
    void StepRight();
    void Forvard();
    void Back();
    void Up();
    void Down();
    void LookLeft();
    void LookRight();
    void Deploy();
    void DrawCamera();
    void SetColor(float , float, float);
            void MoreLight();
            void LessLight();
            void LessRed();
            void MoreRed();
            void LessGreen();
            void MoreGreen();
            void LessBlue();
            void MoreBlue();
            void EnableLight();
            void DisableLight();
            
    int KierunekPlaski;
    int KierunekPionowy;
    int ObrotPlaski;
    int ObrotPionowy;
    bool visible;
    GLuint ln;
private:
    enColor Color;
   
     
};

struct enCameraListElement
{
enCamera * Data;
enCameraListElement * Next;
};

class enCameraListAdmin
{
    public:
    enCameraListAdmin();
    void SelNext();
    void SelPrev();
    void Add();
    void Delete();
    void Deploy();
    ///////////////////////////
    void StepLeft();
    void StepRight();
    void Forvard();
    void Back();
    void Up();
    void Down();
    void LookLeft();
    void LookRight();
    void DeployAct();
    void DrawCamera();
    void SetColor(float , float, float);
            void MoreLight();
            void LessLight();
            void LessRed();
            void MoreRed();
            void LessGreen();
            void MoreGreen();
            void LessBlue();
            void MoreBlue();
            void EnableLight();
            void DisableLight();
       
          
   /////////////////////////////   
    
    
    int cameras;
    int selected;
    enCameraListElement * first;
    enCameraListElement * last;
    enCameraListElement * act;
    private:
    void PointerSet();
};











